# python3开始，已经没有main函数的概念，面向过程的用法，按顺序来实现的
# print("Hello World！")  # 你看我在后面注释了

# 注释：行注释
# 段注释：''' '''
'''
    我是一个段注释
    能够注释一段内容
'''

# Python中，数据类型为动态的；
# 推荐在Python编程中，保留原有的习惯以方便进行变量的定义和阅读
# int a; // Java中的表达
# 函数：变量申明

# 变量中的数字类型
a: int  # 整数
b: float  # 浮点数
d: complex  # 复数 --> 1+1i i^2 == -1

# 字符：char；字符串：string
# 在Python当中是没有字符char的概念,只有字符串string
# Python会认为，字符本质上是一个长度为1的字符串
c: str  # 文本类型

# 序列类型
# 列表：list
e: list
# 元组：tuple
f: tuple
# 字典：dict
g: dict
# 数字序列: range
j: range

# 集合
# 集合：set
h: set
# 集合：frozenset;不可变的集合
i: frozenset

# 布尔类型
k: bool

# 二进制类型
# bytes：字节类型
l: bytes

# 变量命名：
# 1. 变量名可以包含字母、数字和下划线，但是不能以数字开头
# 2. 变量名是大小写敏感的
# 3. 变量名不能是Python中的保留字
# 4. 变量名最好使用有意义的名字，方便阅读
# 5. 变量名最好使用小写字母，多个单词之间使用下划线连接
# 6. 变量名最好使用驼峰命名法，即第一个单词的首字母小写，后面的单词首字母大写
# apple_pie
# 类名：通常以大写开头
# _a: 表示a为私有
# __a: 表示a为高度私有
# __init__：构造函数

# 多变量输出
a = 1
b = 99.5
c = "张三"
# print(c, "同学取得了第", a, "名，成绩为", b, "分")
# print("%s同学取得了第%d名，成绩为%.1f分" % (c, a, b))
# print当中的一个多变量输出中，可以使用format的用法，指定变量在语句中的位置并设置输出的顺序
# print("{}同学取得了第{}名，成绩为{}分".format(c, a, b))

# 从键盘获得数据
# __name = input("请输入你的姓名：")
# num = int(input("请输入你的学号："))
# print("你好，{}，学号为：{}".format(__name, num))

# 多数据定义
# a, b, c = 1, "zhangsan", 99.5
# print("{}同学取得了第{}名，成绩为{}分".format(c, a, b))

a = "Hello"
b = a * 2
# print(a, b, a, a, a, a, sep="\n**********\n", end="\nthis is the end !!!")

# 符号： = ==
a = -5
b = 2
# print(a == b)
# 取绝对值
# print(abs(a))

# Python语法：同缩进同级别，缩进越往后级别越低
# loop循环
# for loop
# i [1,10)
# for i in range(1, 10):
#     print("表示为第一层for循环")
#     for j in range(1, 10):
#         print("表示为第二层for循环")
#         print("{}*{}={}".format(i, j, i * j))

# Java
'''
for(int i = 1; i < 10; i++){
    System.out.println(i);
}
'''

# while loop
# a = 0
# while a < 10:
#     print(a)
#     a += 1  # a = a + 1

# 判断
# if a < 11:
#     print("a小于11")
# elif a == 10:
#     print("a等于10")
# else:
#     print("a大于11")

# a = 3
# match a:
#     case 1:
#         print("a等于1")
#
#     case 2:
#         print("a等于2")
#     case 0:
#         pass
    # _ 等于 if当中的else
    # case _:
    #     print("a不等于1也不等于2")

a = 1
# while a < 100:
#     print(a)
#     a += 1
# else:  # 当a大于等于100的时候，执行else
#     print("a大于等于100")

# break: 跳出循环
# continue: 跳过本次循环
# pass: 占位符，表示什么都不做
# while a < 100:
#     print(a)
#     if a == 50:
#         print("所输出内容为10到50，结束")
#         break
#     a += 1

# while a < 100:
#     if a == 50:
#         print("当前a为50，不输出")
#         a += 1
#         continue
#     print(a)
#     a += 1

while a < 100:
    pass

if a <100:
    pass

def test():
    pass

def test1():
    pass